import time
a="1690940307534791459045514962029338241983400424458459265550300579674489731505110751733952748972654191946332751165834470477340823992665299006685904787946323477704568334940026212249059352768918757490150822471416915729761661142338693094791440262508657873770824496026435694916154974979536367828877638877779290645651472099407389779923504742455128371405808726011838449991616260758149040484143344557175437578059808008976015071575404171881590591660482146694288207315106770384581996904863450713024952167873864182567557218940648561905319240599898874393531118258561064554668724172362117446131804040473288479812136963148392012499380616428891315963779892717986330681010442117263114832158350976525969367523021097798498845133221783154886871139186924693815156636434049231575532659928551471352711029633831685083827194572138444519809747246729719815473222293854292798942200461747355966703085355054509148052567942122311307936192924180279332276004267511185768809144242129371837261008474535380661575547739236203689172059093485603764797450730520016572300470338679049437968773839174220216298652527760980050716713460500970185387546488576742812894539552874021466616046951891712035189029343791639361941519851101836988190447480201384147097690429964265445293748041916371155254976171686150365783977633428533150419340272467915790510150180888358040866932015453657402087413624900132142348391650367093345269902223822542181451840968029192936172007775806905104839967699752897435265727691262113225961256085367030212554049447917862737477785379155920240086242025417009340986653806467438698835230060124984005401749171552480205756849898905915855596775108402969638861738543465382667247017239618526547795519357263297952009475745476241787685887100209706859459107330702503576077171596267850125230738804714937633873692918097530915960867012272293100314770457338831085221525292296297839799870754067776070321875015172374529192865331892543229979376340437352908383273151273318036741491655048217670020459186064102687131337344945570601719780261269422337834008102386883116592075205885354777698859192634502556865610092113396193350756658488100433064562610167970819208448454302428702768501574309896418029233767557922358614056685946943539860141537486481747304414323885273092682608194751955821091024646983977594303998934702529107770938016060010460475384617385465394057140652821110414945866655025890805838849729741888961205803860401742024255765823876010129235711023613496109162277656260087766337887895274526902447521318854983322955543614117137251294767916810502217350755116479384946827729203226988582130418506585944319845869814182177165087926176172520191285437913831432727459297324149176243924505486288983850489150347543824491749472423557125895052187994577643507688973567707727977289346261742524505952392067037873854596617346152621532615344973596385087496067438611314870288330132889505654068006777668298104282180446945229621645179334241781333110714188783418508377374388258321161470478533259417091416044626869893261023447445883257213135564205280420378904133169310017667259822239579184026919993490372767140360550371894636274126274398577637740082945871198514260120739940711810731517910313993570201210429048597971604659896924349209382244782494039503763502227175627597522669881849594138512275590570409858866856367121114008531582148933186221869039251131313872190212272081568534176449865865206425773235221068867402576962000062394278496864389250563162991540468049404043039062019740371502677800113696100086041217781982691020086432461039509133003960899238581716668106928180209429148526284566034426742458778406965489055867825545663791145773436570837285220514439379376170974763604510933949237172738890288807823623823206633245290530560087993595043503281886606640289893162198439261650368654475328431423377385270661754298422139469530115694071271309691207245094678375866411027319943661854043078815427604916989497794082680379669820215700949457147358995395233545482936727515704780402917937785115119686407034339873189369641850921607414874167677752963691295117481267466433384027441885065152823730780709147512191605771422055138672569054830189313685092486523980022794240009986265109512487970301774748374991014704971856488442901479583511682435270711828803397712173904669676726528631256483098253606979264039496467343186294634703383834700033730673464061326876995171583857544301466716218516514044538323526766184360168274853859114038373372077038100879106712609510839407213570351579684945663330253457500883245522763117845970150633782881901082324271444446824078741502927624872936452673282745322876368456869279576454593289364158022740873827091090061701976703698945557922501867122940344779525801552626887525718392078257580083620037922771534352754529050910277392036070381801972709884083765035034249517031019890188993035609955210398490413772294822277596662299529946164575143252136527789096274314673816410411259776146579044707071146880324977236243377171642270258241291273897336936793261222897680519467891318344577216804724482713687901390554081650096936010941760184272039142323578902589832143798407248641791094879791597559746922175221998123797793395219560340604949247542410498988217987151548264787333827515706923518363893531906087105225928191574804064143016005759006017110925604451350707124831942776116069742274334925949929323912046183574416808995804769932262792797246518796875806438558449060533947744436913321255501124656062038525322022005823670769066117576063528329742295042638353364785911906661958689546090253523226750327343218071384161329459989907672716177035027118680531405697378781586561140330166777964173769629541850345944446578116861342358011416519196902308833671756859695370620973565862173564010522643055308499701021378635661795891007131693072699031394615132131670243415448187074590430855167668446529349897239374849394746557192230952542748976020903511142111503845317842654993278583105377142736605083269913766368796476292707072075009252936868464724406830398452044682636076996090165251804090214902556596470887266336951108825687427304799969381707004236774697503238478814382074042693984462655224774192204171222993522064842863643596723452163232620404447931456635423997324197347368716201483911954223992183396471792971011055052079053356993137929820563096193753247041199228049569444617557682753076673411203723300949585957125547686091561302853594340879279207162177874187443685875890008884563890429857494822240811264649135779726686323175444448817499678705815916123389399890210625689725489966514934466706579717948839148244770517920207103539570332627914483363547745215010457007490822384271944392287343545228417195417479398128550771900990556813778829960558738894927035423803771560033138664241222124476995494703215526307542003970471301380697387938495822643705117763430979499346475364229168467923026561609949808153417467887001487825511245675608477520758628730354816723731582271966671132576954775321025560409098987703485756514424886035838369580206638927230565432946499406107124300859639190677124174097983467547697010930991073465949079416094647223658027441585657748532989193570078545227738045315434781542807639495262716608331598524163409922454753960932585081780761009453187859738501245863364055327703345169271438264274094943085639890048114727157124300286543490934250911464042161237516642088843464396901167166390193163462210585921224966157384453153857737880040033662249830486632515166272190497023550783792864473722603873591903868022913953382370515631264515192504276136288492540198979347159249525936712856647780108570479352883041872881239608137352040863976071745805017242844211317950739900645927388470852502402238920411033025620033545782686633832509368768660623679868308952027643505212224552816376795379845625940855957569667282829080251394845092873050034174029442365976888126155207046759304004461941181856868660981259593093868044616711662394635599402773753837794327830645844505327313504760398356395643450333626761669263474008953719139056744155614949474277529491509446237003725732926719872318693345854801071054590822561023771363662299859743561541232761174435219948523337899173367842135487017269148025487772698207021115437149335870229316831015136356773557342455262400648894881332102297761248660633262208532201772820116281143798757532745479212866519831387010274416401317486338682533042962231650350427713516068925920374046494425098111451117818339580585282822732099546216250791294081657896667626122528045340611439398122154915424802735158398585657600633591953817677085173150532953875433997478675510384171539584849480157079466345173311830554048073409244066719778004765571669633314037531631596296516405000436350836771429368607745686398679113181697551022730795409260568812106305325927983848389161005095095057183479314286392553276333285743189304358890006041912588672148274063622453402004649500485959910432826159117143109858083977226292326531594778975798151238141517578656086854487427647402855938229257427892301054808016794821081869691292920702068938449370979361165640855477163511793775198603848929850295723590330116738540543224698983898818584550164663334407180504900441063405961419325940843919845525776200309161822100386316769337040203891909774451618013303453273244186764920207421904477960211304886014586750141373593603787235070425381734252171404052810829538197660969109803695274293731457909716037278409159037953472671957557445632784136694220530709554429714660030663788775623271915530467850536765858411848557244611297356511099887901450461759008528732609101029972115496269214263227346071394575457852943399540398662877888560481251691507784261878362133184803497928974854329082108179168270700451562175923476827648648530711638776543069001416585007799961422385175339325675766723356966582732514019723432237311776611555836197072089489179596646144549874933021757939538225745248460157855352241845282890236582085820160743961123403978729556610158060818346483752460974427577504763887516473071296701867738154364731790136324919508125856334840463550812819985758782928202515876131327598384463678271157858820105897191352316594751534655481554961151329069780104849560126001417314740104733425886545867166110866097261962652370264928015096408012432992442683561129135680956873124784721384211184786374717098306809686280903603742582464617559960301269234187144192264690874297364859307338540730789113538668285881189622169330568387167055215801651600735769734431666268314071156604959302962108732003891384404573200725606545094830450598953169226823586949983335704467088727538646214556117517198560973322114266927236283427919582197563055759646921190612906596085051676214106494264241322936536898432916549648641253431711239862554067048796751593528764063172606054479813268808607195527984102198534184697314351024890602034236484317969341389449765401632191624689299769852637739033387822248213236870196842899087403259733840030228557951144406656198040090605042368346307821703885626971690856075893093992937838969949878570475829148445210621607508112642938855259276495736817439058891530176472392493799700680444504743454339687687931775244630591434089975140917118284057637333384604128709311523966487822244942436673498796792114937281747476681688055303632117547183496337167291156320476639635175006908483492599788268946797240018898917953029242996122378500101159480408018242250486381802445747657827482550878153572321006079475228897073312574018744366523605425782788440970091586134703468497278910466081734226366872917032221066444807313155279115704383212674615553976434283077689513381719651572126936950176678682958630377343617872631908752429102034453280220462069788823865380835049240578326166031427163418405239231649230312204343780641507022399519576541518679284793664936603633751103205661368648094419631618472610119600327164468788187876870939972817143199218923325671549005167952462939985846620737884693413652639422854410722051095583411274694315985813825443560974340417297932795697042867886483414493543147664808611335589305868354937583328595451355427955510506925054308528474546713924392536170119529309522051100751421437517833358264720987098440398967923574087814320482261974053417931494302681818149733139471109081833999917900276096425657920217920928480422068329672070160007778188121123776710304784349754233507179166021500326080665640714381212019858022110158496700605778908818963575214581041107595142475395181028027033558884255228289810823879289711030118963522589156962032443665555764133264001061224634359964007038448442421071191828236227073157127762617854382654171826827848813060313952686341475023296837507312042564359976775983400555122622535212921315479084232394090855445333166721766069667153312557566196489398388251287325782506704773746244013349499445574574341122459695685586832268021656106860775105112274148803588692873671081009200948984392078494357831419522373412221353942310563523399629942066979487188125384188778702946957356267859292306502021552504399759551016076517252008960873742316305202888204974562939416627082075780219527574796140105188227075951348252024154261217522407740947570469208635034505821692974141191708254675500479535011529011326580266991599168959061893351055512039944780767254738808216474816306236292218433615301655023459681567890697362395735869548613418177930969757061068338756515884597489887008292565859531636659261058696028719788655210109862731642444506715715091302013525717708202375666873498198690653053534616787304413235189516689191642027964307511827621094887277116359067829560057678018330997636973607705084834056956963564382360657156882197001541027203234261520076244658573984347888655495760151986033002509315547514201293133856489194855648908425626657281527176270050620876287009128190769339509250378215318829398846376564350528053468273646136056625214070412614311217873062209496725482158351060925957269574037067452180331554623441438764854749508010833923269201108896507630262588659391762910995888324998407948217152125344640910115695040391003880753121560458056535093179539279552099931353750528093323003706335402884135471880120117556274212390882470702558158982093918565712958401929287553366033428301644970629669476978491795006283302293230619277884028045487992925991509902136924715803382588517360002602528048750086584381866926069956906843086709198887792419636201194239074606762586699615068378742219974057511537309447583845194451081139652318542891580781450870552706435320252454253043393714988262996369499515437323889321865446635534523813899739102145985058054999256228871481355731765927090334097222709863158687757123993190356487623727979448563723241614308200817822673334745627923201579692766225151814777937470057713233753362908463559323846826062382226511138356628463144663457658545678750549512892468741011460313515750130660762453334171898856678844521802432185487921217652692405178352597081502019811945006914394123924416004914929774603435735389924939064964967102987676510273123905506428189969746517361705536519564171009833163284895381079716646148910750580810260339176287626940714899849339040803865112725495951386828293670533125822520928211383089980893028988423067945770182802282816253226630910718064776788752795618111471120023008879963343849352839258554803299626901317258722639024118324663785815931754058573951992167384144286930132344362065722523674491859407076284437836751610934649607007794245052540076000168086858661141094627403535918171478116891655736715152938073011123979583428534091079626302607243395099295359592777911738553954838207214301423271252391897551792570214928382601238510018608071293726060992300281141764861771539096505754998812299294462798054586848806605004428235829685145258648950252508812108974653764143795741196391063366384666571211739901483811007162734078533605350123272240721149293140039301497995281382347971423546232754999973395102221410275657707952824792678313350847978382449318459997397879988408430729262735253915126903603135335951962839965436543746883935454067203672657009684981835512965545863846213038449892300129389387185531121047383664805493865859162808699592373293692374688830296729856767073002478990836571214636113243673846714455651774040850432280473904291755602671375479688072016383149925814546911888766686188914670286947870332155559022632432180653620428277190602952435457132751568720451518060573821376248232641216502100061138666951075296183337116719840908787324509887362997463164756168382168883788898112522632633318213513270190615362859236625825296799677808121946715629361900595019184274882862665563686551029781356971330795621614884617660642724637781539811516330428643754034032342464785754054384583020309671555688845693075037067931595684972927607655150879797745405499471815309835909411807144108825448231946169863200547496673061295609106723190840769468806973225610097715186355388930981111522846073124444378106873268618639226747586478501295139932243379751741489569075927049623464476905788875517573627443507993673176217149324882433409683380426685040943107458767105681472137918390180871739890451936528231404254579176201261855574024066041041706820212253976679270563056572133329802599605648144652811511809872939470868564401400712204129658238382045860866928710014014022335538292448280586251485626127302896417429467075432504382888497725892564959732914061101562204650309148166121556140771247581418469407567981680175206848652044867175109922523376787753551568858197511543669887225649744303620680387831669341575574957595103681955382702332026187335767272176907385591594346380772736942294808094220422662230852515030518714327388535456870696494406080264461676646989381075605223572728945018685699524241111748731038981660409752030076125654262772458221550777982234364368768008673502179559118100520348676939282882003339993233743306029868052113502161646857559098376064620792517028347453858171916031117079866730713929091138883031725215064410576962051249169975691958569216895892009268070401014323232252086476456153569604986360167425282941487659221651324984008943266119996616980584564748989265012843868221957463297093325186307008644876239877729275613064574058371304222988225166998005692460649371493177511888062652227388189730020079957529009254913356165195256129790551109219088616809114985741037497102652923996660408730969650069167936789337760788162982197198849515467052098729455825457015041614429495174729874246432836833544787505861268431538435578332516917692828632923227385671558164294767326573475405282089550801709476704293330185977751516974601917621269257956489633680481571891985460536540205466506300002057593029450492506334462435741125803719487816668276984881430960218129566015234810673545471621863126936137713685170315223556784581899976787691252323645903595165647248890721028316043974996781475686761206233685265945936064156456441592127831934033481028941129080142270316347181059736936253291149013132729315454067200304897027304321342045203004184286261865406005644399285272868461512497694025113415768964835734640265510163104986467627747890743000512459126113804199291598996084864077410341805033779777462542592689200226730700769410060052832489437084009041374353806794560198506815792380033026311331783879988861676147974858725139216649474582859537515624457440385644176059099834137388666076371410527121962682101562087797430380013005417911012186912335142748809223789282010256886511431137445829299679741970136294499716056634482997757931693831817004721917769079633467863794880728220471282715812326746632346927102033952542598761889684516265947143104020705640136730371968266726685306543159651979219861784490588726198346358716251192087697768228841381140382508477000606533461093771629205112107009021791375838705280869678143277490630309687279877106255933526595253702773065389174570718757459892402571178713181357919814453944290672469988096810086248479623080977869176317598484411825902397138803139625267436214790231486892679683991448176601430272622993943889356961342808195509595788366532424197297822223619061255101534129695114283378517812766835425786525393338929330659390807284822756945922433463926692255474253835893140491139523731994125976788047905716750151101595278221722292959190683104993956819699231395010958680578564654753066000820366952539770966927127784884530132247430609416172480316780989647144240923618732816879977515758672089777735827533233795503648302978863391210247258347687915683809454482693117425742941774500070731054649564147142206781099153903539231071886253414692795234870116835713519491576403211930156265879682326643102544807828555057680763002584640528734807082016656203349084296499305962476929540531288176744667794555069958663450599028448982224069454997705531449319441933450535605679868933857152668458204764926804616091547782793045609289376682196695489554323863611058929380310302246203289131512448715635933021393266656987981467628478642389660920437701536578269490990801008009746909325312083299564116433827388244932458048231936485645807049043862145502308870321797551420719353526445975681070750123770063286169573674486240504690851714987608210767270983935105312129297065304432098152413906847562802625825608524007341128970749233388557624838529664951541854048112891221353918395809341635889659736315703521445399282358222276682026241517530173702270333395507021543022935166770002795485127591655808275339340319006380287573793276934074607899931127993191825082621912788480691570196815315696344271133837004895701617048412851270738330620486454138969358434285109509514675704332458821914769404763382469949653090549504339212442283582736996528171872387036656490929077561888834945945895496995894402164083938607716074210747503817113387828744777373156160801508573056963600433805224052445348860539395445175635706427977210133787634838693903507980911526620160793664234447699468173391490452150764616684909285831045472864018768762784025650443732553439873177753792503179304881968182145984361775923548033603209426073508557349386850174817607225844618999620811498407100772002288220592910209747195801493223479642497734416181764664157665614531617772231701812648526702204397446702100390189046204451056985797486872705676467044396770072653537646036171395213478768941876304810838958657543651152653266159373659147718127432145518009622612295337498880482046287877342806586347771026061452162754886019346907670654944949022425615708666851778793880217198011804211087431136547182877883347647161863497740439335274927561923828186030961759515247671863006619265440628709204054234336674366703860652236329310402415701705522652988543485493330078470077567550128081878260430706596807162601081197852252131246422754152785973585668330027953143679864147148395178865798000194011652346104205765603924792140117776434832495200575990856053569294192673115479137252452232512489412934721763010089256744215911854076236612506507855489524089932353814076039943535355688644859088629479418727756594552067980923070033983081458451682323729150867486564236402762907823345844618926539658101257904542706501070893584848069671596600899852996413106652867615448257383222696007025677139484223468813927419682166025368319927090657341821520077022598506167810523132340230189706449568063113794876788802731952464983719062272465018058456606243131375240367907638944824253337256881410645165968992942949644705477236469632047503275215349526501502808897635752515792547236376567124560477908267927614175475432394136039239251301561574401177226630419852996141007517882247342275875110163988825591912581691033665647172528849053124771538516706208247639325827868512679700709392088926447960054906243567437106447927444141856033812652764039819866300855218811612087354348176258806657092355549396380980771411788363935746463054808328211723270180033223864681087083673919100089230915086360274973718223688607095869692988198432384939054272155185266235343547714841686335350599197107502009217859526899817832659266914534995693267573136998372140918844338912515585158209677277077996781517452785899043808809431124662084691267828496628138299097623483597219121668783445244270955937898128515355057030626897499378663675881623175311771264079436274702818947390440199689758127681862623214328723942585246795361031219143458435919041824840404587754327188763232525239973202624289359194201178206123379116135853250715190315176063527279494444154348715292959458267233932636967110271480022014154671489546211663790557888557343200706988160952119745391105261079192676404936135887108600769005442118618933310643244612560034194168313158120122075115423879274556717221824077919824698661832537129184189965151568541421685684676004765125317043340445934547752328726742082731466803882171292502225742765032594437489367226090626260644823142994579872852317225141084702296855842541028171219621416263187042628338898197199464435926150529045051800888483304624311990946913339706349244503074646625326690028637386904148089061014697213671056815552530463823959009456954889875766768414901805219902676397655707146078032893731339185174057303385949406395657572992954826390551916970305357044174674612185159949356393800605658586668111691980980016775918606583581391124322769366518505803058455405519766931377422799515486638004801672623160177740842947521338843892136398047256629740665714639235811340637415952146540200036670341993774084842903222764973987758051111100073234291525914224476151570420692124293713494526408641019296043371923672426135044953200605080922574197882105844523814642558117932021571338949190693005659644475816571382330087691029844077162015465206834300619568369399217094608532280969888189607936490299456239573653438686174552112643200110544500992072312102099918418999561701743968859289858584481905026994974884156231534581985654911230232476849104580344496117531148655374437940089835956247455388024224019482244844355415739387114367351776346486993970692927363158090067261600507724793908819769489356987270626330609688329240777823971761130249122671384753724298745265303296925022945137865458411032013783792701696303327958637349130626310808128131171568277349517130821162892752790678744341300597473242211116246484792027789971416736477453013917672788601876651516278645655026726908053668441063718810614319341727731962478308153797188603100700278279641537640803006697086038686158995265435278131147367222559444472528049187702503262713687510061088666015050262771217740983844011232736901064741089951867185971360439264354489118404414140553852518993598992531539969876569006297222833020795445538838624494310242560452112689693227960874907521297280005234920519299171318749029717041343702051276218968197608943755234348445155905082399311833325679094916307056898369514691995395322459685397708030287962294678834323231550834129828532772699123967441572178680302333279515729042188220603094348549364725132099801661405541411161697412965926205545103064065717044583813521441893724387096801952299771031628067183324035876955984432506691117357063528983995751418444225718718628531307755138568064519962977990259071608904070919249952163456916918086713290022863873393774320535170953722606494178467799633250693875942121260120228905673719210411316597586071248962101508863468440528033996971784391695094582133652534934052679581287596617880460704744328932679530986047589616578081424736931613309259162955662903372982217441851914574377669517325129640594097903137184074142277702838102801251570820549647159853041862732700222693240715627884199321119887773407767097117318260648582812274789418853851302917269276256659803796581855181009704713396423157421701019800156479154547948396789726159095643665577957066045984516565600182747876720996629310273321674055177319517960866332851235836125423358919487071087132590030952461381821452086453484706069152194672470422122952982671487791393995587767552277100546276248648279629958311178048033511882379663766979474039626733000643211007647891330089671467805933784559415974337791923048847200333758715541546718351865013692791090899756348029667200177558633916136886639226883797862348874182888127254715641044977083047606107941498746234381861362057281427807519461646226483022539644751892799221390138492179010971233059613143594272462260655517815875182814975196038470345189037804523792588527798596317140603020184230662255331604002140949611474455092387803997449660231944087515897502633575920720092086547612701270963294923576151814877760986261149588226704086792314942586784809850163020065124804091947052441037863664577867999797596393780125247991999397047667662348594892730224653461783815556573636782886896924452182330849114622073516262552802795599058232988053254097599980509359905530644231238863459553099797704272806473281123320403275134675543725179023278978436811944844406659566001604838617689424214975672721087875930247294698468210689655003725248861217516535402551652472116893339003291575552611642991978635643659958364566688139446837765945082662270554754088485860459154846900816076345944400326380278181440119191494961050083790323631491722272748965751686991204951702047977094669745481895588939734706799203790748474078038932888167639651741714099776122974122513707455965966740757357439155770579189044762476932318093035220721317347150744121114782446161535272614194826672174868709301687322419674017096103591762655508024761783900334764384448315249245440904543249295185948130567230222879473384456126276600431790863334103968403833959704902672898315224346769708513231888700659425378796510697403926043623193788714057850743560816397700398236834541441806157729304000175835223316810394960161694071428591419923250861115282105060259609794672573886108365608098575935147583645961221437218802643458338137473166561137403752572470226747063728406709815022275940937675587939243402225521557713428218797710123168142658421360154317739995600477787150545027088158503541783016799611349246249172630683879516356812510605100195974861840529684749604696406853341558748786090765046869375141566186027686214890443043958203821803260970913335788868300276581490089892513504799021760247984633102464641709546917012099689705375788188571462487113386139873525324588940072083069184521901893240274554681181350640696863908200628645060160533046383651199570270764602893858495998653708306800297145744709446472097130357200349242956693572782989755073577375095842466816952122554167259882889730884136551104131959427819662693123905617003094789431356884844063063102490740505669759782822658090861926016789832674183366723913655204295873900105513653231914240685482052006909296164566231812248408422195960137149653867369179883826128684435824601581154841681679794414852143658274051270752462598840287421212806402720201142997780576613611264475188037916966157058004986418030113082980304837099244993213716067227656486017770744728125606796792476851777768529130981632849712916746643743853225003393250880835923350577483514244131388945015159111199578703273890629351279186889782896334756916329560362160886604065978662902111130478002350175396643271201012831621330649105912735551607523729895301399682444251446237500602421043175092921569720869190836222485872039341999261101417381854508585093880603879776551315608517476235317642714965268637890722441169253537730518717400044934065820593957810365835877432618386761419531374236230441530991077927157693848870834568906504410737256063512591868936900578563174712574507184258321983894304343765513872997254226968503360456920350579623410038557145213597797582680377917353715579947866653155665928303587715018730515854876675793449151665339584372649184042716560871010715605147753750553121824550203128404656442987038998091232311663224186754464826997637342769026817766233808936528038838725773922692193432090335737827082278169539291799633770269974936669128465947260380211058108610009449367628853977560957673103202977688372157277919763410185864524822223048202622950509123846051411124378832461060589321440447691201027706279906996692944587202424022584768327498377703333342795544200832003489632751559070979371919822655623882292847802826614697504030856578713917080272861643083457019746562262893480262472309573621082425080981659238801137839615925069949243035214639355456129377266057663623058435589324349689820607704271222208661164273270533435182293860898882064799685130663211804341772290117988638116818650156203554065926831319994586293346811290533565133199292736696741306422501032894828654111303100213764682399316225773150748772428246227311297462189578326688852346757614438628130297754601176879719736988068245285264639247549278902166170424385591503012170256423116807295166640626229570119484494006260410032753660012210124048086940357410354436335514425977632046219515401237004406481305908244985714202877432573615884715976822039965054020021452977390881712107677902152470923898730858324635703097793080432907282899335679967570937111841049813134242443460268433886341050038392993879470540440241649587239013559954808000547868265531549869680532552825645902736775927153309322777509705558020919715430835356567720653911718556177350744628789330544506715919887630725042923754230978718294750966324015745245560955991157248631263233315467341187202280763284453074520576824681845403922400950921144018722607101880012323935536818584690288776798522236819631487993403178788800200565193969040762315267493641228395697404941695892547486061078615465811728302593971572424756902524238393446544141915878087791702048172982023703627961515383429973993586829475456228568160719969181946020779515906847613046790691377211049483255640697305017901796385568870307630223523425223420908870621025266968387494702891536602028640815964434779853092393842243243123968529273857534745258914107892678460453977365191851413571212712775697711674187708222408971470844786983273144382656030173459543515453254577483898749136482662153853434389331350636197096613487222971194671918330271067414732778073726576815184915935974307613298431012545483996091412387795824828539633094422089421100983882367588298154484885983171723708450729741428726089591891790022428709225225928855396445985811523010760166399907837546913234049535743287739994227398738633463364566643692865862728579210628223460131415098577244755517269794058560336002813498826416046822034367122435463507076038613879580204176490193844845319956067044117851536380536224281276520289740797205984296867817373298739499994481368994996344743146660923549396934279305385457628492759681659631410363852833575994575655588993302555932662234010214562390851534332175711795360760782912933292489098178691435057572105285135077028590976624734029369924010582108409583686374924578376921675140164621445374508292424103416728542627920485574923124972016091640958871722177947684545984488956480770646564349088618385456456094152789442195083139605416745896720150139670902500570820071607296386218749027292181166284060843786226582910760879605240884880302907735104701453041599166817716686890023612068859449026521249160261890587034708318713167878332368032686482972040524523504876986671956292716343473438117313028228763242441828700788263351710897708725671045644929863830703664177501642383020132027257228860669683972345488120965003304224738645272510401249005139868854830864781323917287017457870068879326962516197914665614333462683756517194510474476239496697245489790413125769648577174639321778701007994406554360339186915140369151350353424982674965135370036615848287525608830757123499771670734798403228167415265717128394460642011524044424631141038691261306410877718657055043976436376442572584239383454256110438204348044337625294455476160097423010607785138870921438936320078177200410507047866524498392794920508366245316838850938336696149012830993593264676335977478710856940928801680465512758435163718294924240589263997971722591752074330452443441550334701472062161798004618861424185028272516437583045651860979291386591178736795336764732853991383098525866339391479377235416728150184973038054157687397150140016817810235298352190688325778160092248009615745545035158424497435117351116524542740424852653446725346804394616469167791145921730869401411364244393262102459545047128065735147608322938974381661680053206581279055257927485166409745304694861894253539431618739425086918341634555934998100968782238264816769459676213031078955417075850415853651045016156573971543335265664088015163587328788709687548196937094230774691274588690405099520930163714469474223924094701207944542683870759589316528302310192942461057703664169293698205465391865169067991072533617880969370442433579318292138207344843435082826601666906685153254249411702746862418632327787723178029064417849892619520521256198450678702053309886867277076719060313451975005476993029784891424959790581092866226774380604915720821937198479215946818051810171850051991758310620275896367244960403895022438872623916536644739257810534655371769856488844895464877387822270688600371916101705213194764751187372447286043015341829044845441263510525761186739755195725972760039111761104190630293374266800859296815315815101867494342067818008843033293092780580535971186712334350490941554131104321672285562923998855565754995764381493640140269571769582849367544835128725495840553181766403464436995009630744999950368923847077687034895027969379929265730725315360736461587114396716589224594383919857605119759794059395807153635332218624412286396245189053082996429558514880618255574416759015041220653217370118759361685693963466654633643269268938323899377933376348514323086458486990046609680092262075895447045578285226319069342200871891859916169340478280449162380722806883744529818857632883901010248912243913358359275384877942140906003844562101338033058134795286184925076866163807772374147710729239192763920703227843057007015371531328944343583402662956308478983957754513645043460534810295563934413613896874490652788032229067924662067965772183120654142571014747782551637861988114088526574357473828258704213423422473041913589774344586279369301956361892965057827696735201259689091144214243253220368129688655945881988195127069365632750501127730870876513058576085159781195501720690171607659315644750276853993800342736250607164074201802728401971877907795101314456444037324361986574243850703862929261196645058810616836463984872385137074839320472847626231679310684014759920978878714142908841368097322248085678929864968076355404232099792006073169204411191490932304034590765386750254692544933669832026821436655133313721368417610906491655425366193236700485819168800224584193394281367889096067154449239878275361637705559161203570277656535281345070191197556168057782140122528185777471985475193552349770789341355738578549998074599554199427848472419450449650882902839400501436883337729543443524313079500492116300657699766428993817082341893086814065464227591268994191643511987867112160891926803541200204494700391286796273786164752336783014284805418086130747144006331045050216502367795244145425344530147541386907514210122100564473299051616094053750209660325171466605026196113246519623092160855944239726611988828457430364525935417707897478079786821053578030308367245257567532478866238759921548031126226429341678481403775326229041764683031003131114568175092290162246020476977362029023305753349931176533816855000230396185714553026510458296107368897111032671335170123661415759974711788991673031726343349732624720569122220625176961179869543139865249592274667495737729305545540454224313418500694306060378410979320660800815241811262660131642729753893621665380196543913351683819817094068756591294156974057372187373031794265562180192629800708552562369844091391024454883433332967738948327674962193253016864402866997089727068300921977439352239849610542388844211140516373319051482272929403222284254684710153580187837512628867803023013756601646793589367628450100068919501119839637385649308666404699729673369981830459607831806287385231011244021873194676268379398356289073326678187198673537258006195644575715323661132320907999396903446465048213019454292213549474568505165071100690556282393918473734848335672509434085766773596051269194177963037206665512466687499756273428187740871757977954214428557310143159859441186541732948707224516992783265563435134982802227633727944851284603659750986408582062043716516381144046088654390688493867627187810901350450315423731360240576947073347785374641077603861175714284510036178161377253430711442269888468625585271476035326748257955142556768783169793904859044591738241011619002429391785952215390918691170751183004823401133160057326440424443959041034889383256962555263196008471331261382100911833465835819432107751311111993668685713956891502739560336086574336993868886928731529359883832968760021109506194498941303435152747761533185390790424043005222592483466367182179493360801309347677782586642887975955318264480677106846567227716063123994429918275129802813110298246893997617505697297297925744621053276749778003411019182946983120147929389061543571721493827563422495034980860772374620751174175344978216174989708637694558527309606802249138522071337654606029087102492935959325280323574046109994784825115653282386633704762389877196380690819561291780668666149380843102713593495886531338875013007056182313071570178338602314000557403881369892789538603552212596187742484915627753814479902783752866603419431027530307011646450064475527820986929063569005947594882954680621849021562836492361610594469360018182687069371530711875445820423980981254918712811709398964235143790405943106951552747917875745969870012096207449071474642013363807429582199074153151889909950756720038688975433090700623170294018583513439884126868295926650414740786394680816778478562433585936965158474978161371684796020014961042197526149793771361728436418432159977192970454147628797294461506877750956000368234510631238651429603309187977029343068651255222042429387855768381485832195179185939362717367320643751582948311546723637319427642472979216352220606452858504406748008154639116882652774880060619506111726211679533190132067142794070619605930077233225275819994129377505190352355386318040066937171752479487614068884902274395304046871155878746238570968892323058969676534315128993761984178604273048704014332689970350956836216543733848782221427650209485924830523453991445418525227444944575329983871675298045573670963006007193770132237871930068695702866175013172724362605443974111204471506438231269125304008232286841674508918761775509446547460476696685548063262214781216780014072361570467607893289397714649569874118977163478398964891745479665006797511961594022006772574609362832162051363229873910491685050919210440817829747230044385436816080986495508551684748913584549731563894506677276450407866654738589673465368780992472063554661824099432896012752472552045356048220588436263094569871127658963828520285787911162765805025238967159375160995660665934495392076348808733198825163455764414724140233210832647072833967979913459554579421314461246090629149799958014523497903317609064882983551527252712264108491331712644385986882976462656555292782643564220371885067441567667417840001897426309783837056979997687853664678401441418392894174304710192719490084776862405131876913967218860511615901677784072615763185032600730962167456911909280195654353047986257793502319668448003977941915544741060491412003962335522659224920192170308236848978358851884145187298925429649396024694291824795078255559631542833864413060592321801098821849409930229982891584468252312747315472638256197230926612532670944326368941498106167403796805401455164528307883903789532686884787228266886317183368557820016670297436579991891081963194692528276450356168583230027598403191877334805049664873286077652758910330887468101024361003267358413649807573569732881154397507821138490369717468426826550006831457677855994040877950663981603212239652665022508616964953535912541181840542601299853407891796850188533354127276421472336690607060236714614761233720138167001166787482720956756044895516596608755663464810615179877037497454618856509980200972148513136944173970100825570965883979566635729618182042473589238874832072968351718227207006678142677890211229024887156269323963220973262692403480606469461171850421093007392967722523713728312988004059370304238248667734854181592447121803732993556593608530024261396364340818756059857406901348762398234474080551887056968712948762614284363552312963914871834872787004298251437643689151012589520616757967131140119272666198219121621212385794959423369977648724946052284491704361233683833783693199933066907207086642721499539090713989160708629897802600145697659404578131357169278065224449240486992799353597528210866162343806486786404232827598360201779922601977006944262982540164084854396285593713015455026185703037972611031456140571980012304285628459425002071217922399266248833332029867821760347704209061772359280314281550223234388864031608820298166935870642234836002865049737986616927185008765233392129041715985625447345314573499167809798027612601964530318070298587032809028161184425099727921258084791697222869873111451652420133844367388355445981203272227936998656789700352351899052999251494549315243939208953434728351630706708681499911463710987471331104472901378120683619406195668910610156873161732953077710498351644450652216648411307835345614999605869395907076002981467241469729720971012958926884508127851602377172428134171079163711437663607107167294565468737140566791958883766104103547736367240699878301884845437111122423737060031424468770883561982721279327050526827651821308308081126359329437259588333035871963082784102301038654588404503194307813134735467925373573732862209520311670704177781419327870061336161716896539948680179093885168150060627700898602737292870703896956436770437634117840366245534374422948105323218834458415595389910497343635568411358206054429755108596742320321095465801754362326514883704907204991744968480820688583481972648999149090012012131603000944461110013452112554826857343563869326539029847388060808889700821359163906129939737660160924396915646192706814380300867910332732746186744469555102870918498342751191397119652464083154495902888023663190814960913605394327241663301633515830200467145255053064023222860251751406744224206250934323699901111607577904783683222993374914772902429666300031456412486236371431075330365164671468266538398046311894379431247493381367710723152860193997366955049983247731286680254935548504175059046640772224310940753965959185777199800801872107666859664960984826540490604922054764824396536129706101460837373602903746566045940485844036514704918342264081319695418065568046761990224981994048676675789894496550098604184640253555076610663127964101708907424986947259299867324266464812944539435970433096400902134254132748890982494508261506296344639017017989428362396922527241258122808291541486577031964911404228231591689755002423174470527359905227639848443863304572475223151920821793976641382702476278233568554285451433397235215673995774765960252359650415699924809306363282668964180187814172327066554828783246204812210207514227723924300652153423471034398059212444998680959106885317385146761918811615111825480212491607896180023427658887549972672027448950664624102199742820106696373283338617550691935068434624443849728352517606229925071523476406208733217117821023820628934152023800424153422578916234577954139395182399186437543528021410535977415951504169334123261591767219668969020439937489272173627438814621771125803262884674657839057986151406515535049307988385600734414443879761209217062743268009028417167057187730864912664211339178084398985872647141975997806837768918614955252089434379191412727996313856732974905354086739551397089987348588219101948107018951635336861484068553425426614924521624618305832249808902870784916958863229163794829536915091318910009183763906910775573223409819623381118328074612546476394627871152769800737038455533006567188526708424548791271079225579926690180404671473084305492414447187447106347663435995500697446188911840070969773049787175240467418116176049450674213618389351717565663300871763091855398882719114785832426422888257000317003589041257316821043662651030430418317314932344645824058287629087740665206656836416453085042575367989082951947348436214832948491370636327746174458503382999795506461140786538332523295389466997639325830324317166537617016543722599163894751502371978876784974202707660545969919231432302261077725948962217700141292426570818190227745195721770237294078643224959317765197095962223937617446267572567113037003479991065862758707494862890711055973453987521019658357398054495344286992682046324646936691509373232761547552792893409713190808602553856577278248750258919474468865536453390395814084532289904348955586947152166326693592095024486528910103670284282149842163322443516429745112673805028653616481994661024842385435777111511884203955676113115433650105019997975688824839507404689763523597200327665962706871414583246421312522586811910953707086857070251617791709309457657809758700332944843458903562254971965152941129237322559593966743666335314614028968271445619266002591667426248582581406808274390558284835328351367943692607457532887793708556311336911123982098017219793878782476669175155342199594494460668086539195884583612540616200677436857171437787925511741988837336032052270098255412347217077528463848516723561411563457568598391174126870498678743126040726295467463561709677044396646766171686956984807501544026398919940011966447945021967347463181962421678261354055667514664672906244268041469743224050976026380120182059128823101670018049842081259009064385228058174819497828437559152716239014163297563185771743806411719691785128822952873577822689343552384439465214783678678104681646490396819084877054681502639950942728639077444324662881610157351091887044183068374367873310127798237066465704446038361688435441405314193340052706512758150981605622637785369277834207273157371123716068069284893722043895896945985506384388882757699290846566318723870817256997471753932442118335148461892569500741832674049685092179642333965864248159104934249528698314546840271327380631483139497162074895007273420734426075135077019661870748883092152904291922897211399988054814286832883767820727099229340435718075571858304954882999676725282312461197154833331821964810357042526201766832217532929045441252966225379569895272428194839184631220893107513590362484670358284167558932330470699311436994347175175272983646487183242508012343925716830312135015283901716681118057894280490865149326844763869605933600773210569710765795447353529269152557872229689131945412684498417985365857282428397542405417947184346114649033791234240086480098100980900850717756460968440181769832468737267750797896566624041192406256278442151308824115522130129848198611063594233558855867021766838929165393081778451916055186184675117548673506594288689766165349443401449228452246068005538714221798449298961542568599715553877664476817931349360286753586129055824908434115566201907074487161463752003680767615547287194452013466231769796615619302122936762939253066486109684335883865033635791710230452983619011767012527414648464611369710053682382475248213961744550084865087977427637420120833688802939354154884323357175377779812668685047799787271379263191424406469900777229752715150050348522309364883777218286700680452595640181006592574564659750768601095040328970176603904913771810583032162328715061011510576066088497876795215002263260411841403095273534645523076183753342185497562295718081829670329289432836356875245276683078257742725205079214351014530618074222286828024242356627875960046018082332686539894383992273720341066609540904858763085852319974215347626358323979407041985292143748958236708688781892269749515910077007899643859934393455080187531923068820653141889548677080654818945592772084515066143406516106789836869130359957723407770779834968396730882199097112115028172772910543357159996749141939311941488129676867911811636069526439026168860844970690218802568523455925867376617701641266311456169214013406506615264858882767963451504301918186432366476232196073821740217379785082587753358808678280285007082273971298568002744366616070044036309702478670029276437311341156886521201828983219079572305442086922101088245003099730347977911661011773581327140152725805668838403390008517604475839446544375048448593745838467219404278585788505762678899783970331137292409841875295949019554977073643631509093906349842393500600040770069276220029872863451547779783314982430137793684905998962919023983017308553051003469888577157646904903720155620464365384608576243115203868052150548791635828934466096145581636714924003025402431233928296985130027593556128283313098520933515407270601807427229622519809311389300853304292278311862436646513605406385734774326010676865840976005782417138201269889516465725853996452342520867876799991864876553214141704864277306386213692151855452671074326195660308220689241884896827667177850163195211475341544337151949450302857612000035946646120456240754801892750741963358946587530721158191954797250477795920333815176739160189459812834935743856336575034607562656926223303367192868286152238755349451337730585057874454376393336523689285705048245162395197535296538279012496646248489017022891628869577438876408608709470690279139566993302473016847301475895209076267909219111549880306625805627533095519099357490799209279917946122563697892047714050749361641866097996725228881225131628504754713055730267790415784469097125914234007032646602217694373204628898484564761896057000205733498003805230472218567841503716336719635904960654505645746912522323234101039707738991985987218658601865799728430511607750144595215272292889410918204071266689816011416091619682447439297251881154716728008557596362711943112607690296133363324000433001792730386769530250008208559822052669097678743534322897781551217542772734565206800302569041660799390378482111423159965968205389371653226164601938896466860753521896143846961875654258838334069249315151491322662240223908084932387372680737534950855946987812716675337827202331962945482963015847605755750438672277831959273033478465227889664540158017588651553577876733263190105806685502557487114819771808646049649240758521769316661205717528931564021562010614093270683662995167948892735152335796650347036992928305265950426851918443819455332193105200069286690586501739417570303022181041044647691739491690072152083564408564959952198133411856592651818766804522119295972401395714204755481631026708754633941229257292539890361791809839187421750766106678548113391394976239842770143341795238417215713763998043448362658255788874996753653160497285808660941470479832422399316031047856846476230468058623787107734444322716372262110801288835536925068010066223795978650769390923167109164821712776936460923589726392328445179114407170150085390134091649946145367979791405568167192704766061397597394812865488865562759130203854724614475775742432304304463468350335062080450778365163451767054884271264881330707530780301556764655661592794723919195059981748166167492207197759085925375366318593624170919733153118233252373142118988873889602937716564722548003626890045227879091380167206443806035701486669411600012056120373317535642174849617062540278650483306546442582159916827251153570712352273198555611341787386929665287816866678892086454295190502935211707979745731662955581825083849832339490304782565544066494763423116255221646390898743092806676590376821278864841864033731859969073708596673054974663947401211355707840830310031890537314115494675545682155391805760096573763027593546482886484456344600383591495335413162986216183635361738181337147899788037000637140541738808381533039761874292507967565830141222014833800005462327553240697432940735898051028409323928521269322833209436163357703383607101084840989481121646664946633601827021474884414573465789112079042629498468525415870275329344004957188376854618971545029032079005476046008362770585760520830031900616164030708059200049420952947205119752070557991832630733241034126919374604547382087773058536029005043417162036160791003359342759804211103698382625067376461887207741817206353047155011411657586907719995810353494424978097158464401160476387344926797138591844862362165711534432419307813523738602991594857514560406075883574139214199363169617230986270032974559619481440473433699789092310101851108264883578876773509171091366223516281831982819686387713237899303979799912830129291142296213349664027396732486055162115693981399428489984279407157837610429629090760481088427466069810844895713723280100724550256345061747046479699917247154994213621046767903017584705599384300924375343173778305094996244183314044087094502080202040907061439706141862568221187845922341982144488766698980724333541679571310476043141641101478641893050549478765459557642664522549366527311156222941507277583228563648092533583234177499746398874071625226671870851023188365375333762277180928925260323284647450897163267956529922904216477869503690062228014329906306671276530741789326518994617505984521910369994073254355366445692228883238445049950725992737795272942303524553520224347062551879451771950893359022570410800644025373967448927461157493800222478727715059966951677163610423921015370241877889019175703487097489706286691833856909478419142171999538258851734185065396311990150895302897955398293887730161322833032727095080947796750758270705461027244406633546929282137603065659184012789607562970653879942124616558210209792744323793035425183003232907261572442290011558838260704004356618539551223480794000939315865220091464435211418217497147994238895900102581840668851531258046989110920723194281098148485474679441443154562329822536706413659628695191601527621746375850121513687231025262139714125156507405474717643617161534656725489038288135227731619148339779917220107815791151599626728141926567365148988465595908846594312821024256456229152003306880619576055469887433803658575426700151634323027200460997022886506571632833563607486614373914968162707258001328197767609560277610636117716885011158370158124688292461918866258925323144037876054363513559879808943786665842018177075153212030915065285944442472262690110114568880278206957610530666350360684661928107889837063796046578339690706580690308708243059548685385942627069887661769553215561035053349221936316027273747218188264637669774499412155501532891609588619961907619756341098262095350840044774527081921304802872176154294369118651757391476932258221623524202517442485806327816110405974758348131874602907256150382654805017893024927232472690608991538046816101449580043942551312055923028587736536496502968778923834218817849807591500359043143661121504531222142632260240397533848811943798501019091891862692868854188414722115015769587105572197633286865864869553210334754755449950533104416463775175942876326931517838939847025568552133506669617671276602434554490913941224908746231182126452251215560933895776799534653502136948485823205742536763484229504288378277271814651944587052678306622717226317291920711242437449397093700524364221711004623314675555663442302686608863143699210301069830883279089927225524888564296219200824835742524858111401854025654689179088776159966949610112197589102231833081465659805240952196708826953234479434875130066784211207918876999619711669337712239749291188220187565247005829988190004370909110650413270508171972033852288243493802622741234077914753187699040339006901164727643387048441240481011491260138160209627351944184167543749357924615187150155488345530446067133967284549675128965331167985667413452944242746887693396965972398026250424781752454194075896234963731033964910512270144472250461474034073787381266375900491542597724998452865233189219023406192699400686787917889644607329960210161649151370243918359731664924011573362957483664083730857162456748259042197150370784434022130319561319415138243607341295726228849330494390834694178879711551219833544302008243569092262688263426839268602768766819497386212751570162933049867813714346804555054772023943965218725524126194435711222297182786637324271805651088837838643184305960909700348883875145954246744468203663023806999225639816001232753507790561748387567366442981736841622418198139848621010058732206002330303488188989200417086389717879953052749087094825260455751236510828608435953708546112373925519860766748471836305111876978943767442384422297846683262129068215163733338467494918207180525799793352851364414771397977759334543484944441960069082843042636819360888618248176484846838535479383453109048051271125447418296739658789499699487292903912896695590862787364793972178135349632395159910398026565934411597559320300373379524136908993377019686324217432187943299477252589680028964360922361045679449831428697134956324301960895201424137964924358803103898355808059078624289744496161722613579254852575878517593552690421072233521469558457281348986356403231423633847103126772494906065993051021186470675502567812959197143935337186734112232700559027048205555215469446278906744066432800486963187218722509850550374005546056370013854033841884101279112682128604956511804128725672245378576470060471975125518606849649239612269920785927669453108881271458336930574637934690864731924406924318731029599558263553852473053081915870086929006185725973921114931164874213786600765320310564861451903342098145905198284729741473680737895691105727575456886343265110375136052006209560584009779719220620605550745575241575066022532016986110179687511618774644728958331305785162929193768575900172190454739395336476308149195236309882264645409466791075920813745057893575157747234801543562857427289607620166558178803933211694471610175911756321091835470432435597519549514475229458297582203284790554405467069708850891807015396551166771126322343280193262262966696533166675766328335825832131699978094966032099692456778471169259557468375743306702750450970629709709111808234585789287953974923312627792613887942071412939558887793668930449043382587545755040706537222525218627045211700301009063268259098581551540987890011156527031054428647492148475676361587640355091623266878873561300664070245450060361223866314872365448547601672753488399609049716307170087640384814834873980108700568017360281083494140711535370845239705427872954062631519476964095885131119597853992246910305676704423832552923208151554680082093019407428677225940012182609130015776355380194381385339240605933711439984159826934333664719454869078983898964223461448367210329864274820590289583068805784971152517745591465611628800640537398711971192832958691800294886018985500922988347519219385593047467246744586905568757261408421507975798775060365133025227803818480113407208517371351089606740950465001933542274593827521668852201307099888535128923474723336832463826934128852728495005005091708849373898286324037112078661619144881372201457871714208769046865368059729340676390437341004937255827050372357294123369672755664097780265604430132807514549391133704436649817509750583760450723741045768747994434794482361503804906768173601853370957576848037625362184245095512208039342061435398352205267666987571714930881516216549012262292725851948339178211541108004245056404730185309596253068339441461222703403341869435847230937244621107831280146693118756471356578983420836109291681923249122613361668420578032012330794888470932735542426553777526316201277229319696328527345111197118061777846298509618196856312377633818988433149490225343611672321452752478590031564730684200563180854610711073596432869231689286193266372996326549150958157734650485265513376618328084489103753618672676153341543464836538930675153137225153495459297134978472584772039065255041572067264397693912860620800568697472911392644004039467497125505218897685632450304703409512692915375040421899272926670746595591386365380726075737271554222126152476211498038689764260568678640052294256863975453300156292411140189421933151589758827296459990361588231124372438104986362795804679411537309060420792691303883628849758109778566472177395160518518528799020451848827405834042024064631365041831733604093197693991853783073163754592874969453217850812836604163355851280522663300399787377594513543738506705221185851112742722919946606720986944553388912466048421602504641091524290843456930034217507275117409890464713404914614738330828725432968324614633685420949479477922450101669772894852400604574443190142514358060239156162734850466983450774346224507378215458809654018903259368665851436219464216475896238808505653700900301096968556652798003824207859918468591034207106139056383434661316308267119759639485295884244156575952967899009139655301234685486752420666701622960284167273541269269460257749055765421155297850996887648243508080490062656203187649610323634856429048801342577116162473176057297946969841030651793002456927355122965054907744212221414768313299660683984136397284989478549600388773077550900992769459308038857036026049324353437823044382814932180848096551105125477452533954087372329660453016921187259685417518388507079757066644405046699955169875171119889939843127085195968769948179544445603236867379775308574621081422175056490339883654889099896774863447814787822508118828791433854572042650915877356206606848501033164121132766813571767558264438660498319020407523464025902650289308312907533499791615501100702882637042712993224602083951025078648427013238004235466541397443930273323502543386854452693374712252903220625021923685225561544894071304811834178848313157073686234997170848599974038336876179110507336616891736066551984229814972625609915907695471774411548039296935275637686403420105691807171936746977646574090713895166262527725003968713005463477235473151112411053991206689472363491321917656473949374838426989440356437668605591339854806917446243419672312304175832298962812872307091094882665259732200969949135502362261104652612685653801160745859586572863288922106929047241097532530687207756444496529492448269684703697776719241410556960778737966141349769206216296826063866989899649331603940717023438329476322363519916459867502665992085874643439461306031379239352506758205708681763176102202235149402595564321055521233086344477504349608449647347075787088046427973081522399674194898196133753915512083240290585285324832468705116783382384127971531543955301107196099675006103403713985750927206225017796082343983649043306975058383326874639450527897128788951032457430485159331758026042877973318002214822186479558051089774010882369416048973522378961988763132528311723919582391106287010560814549940987873082744284986027764349022086749249767993220523977387426983830931418521722351816843415327805229786411807174398756526768631140146084764133627008878356312513515754605499260031567067722175032773139958930125490055313898919890201297248435294305684793890062801981741695303046730091499354571434362772188400153909757528802038176147886273551075348774441383317670162187555498974065801961709910916194779383197623539823965436760818687648636771235483713861547481784268293050378814176444442814222910991792784251609706378213573255422790958543520332675384870850441753117040479060052285910879909396811633847314108594474838610524915677353237254514057148226066641034457593762704996786232703652671263409975273942964374925923436655850393728797162429012746531269356166769773994711078042978391169735341772053858850982448846591704964101994749364781921787842160105725800099324972210793256951905963128920373510751669404612240676061922147509169771373193504715880348293943346647620748214930874582577767624695038061200491468640912690434297136959106204977388182050784965158376293844353326044898548406550490975021279669731961813878048897185167136178703415481564490226311135685749763915417120870130621814965109259650412138924582659635737733252348135644569631560639238912722889929367166880833042415853997909551351914423366023294252396978929889471727318504291045162585680815838838344260214926390657443775410884665455177696498845697038778542477334396753727358408250119827197108766072749319990604003309148410542346910201961801778221395910016963109977772952729478102708313404138507749362892523561518943597937833931710002586753037688711214432675247124585690436824358650811622130812783142311420398692215923289402961249093111228625586688590139660855832158313859590789673157857375707321953574148314941874422939119523307988465160698068398350121019653994230088251369191169399381209623159020696393800368467748044716204836353992729559541406682739853900187293918760422180616668200128723313988839249825124655313117622796447443201622889687364396240917040623348839652611228617943736847949242778924071113330782424230804472160325386451702933919819657777097714564949893310327929695120168347715847915826062705435063241273505438156954593797296711832595055252382615440916797278177652698976943467754997921415895128553241650471954173458530508851473898935746154184526709503238038458162341394087345930920251616816287915606821824079696380233405757157051311758896224119377176504739746214580537221951076208673831537306115263455492133894589231257441987354714987887336677909625567831629005943273201065330310095783296664524202481930683195020598882470270479376071095204466696384151111271571406613835645947054945739551099616097400678109351964408904033857804896464200910196481575018161763002835883234035126482736957241519590453387594766614059632187557684318219036990133661949771969342034537449128090697720161554713340007849666460642926823113010055686652154352018589077773534886125702955013886942008093387332250612719780260169655505426341327862014595918540309668217515560950386317033831403832739093526351436728800322353080335692820244841725105770241695777714569689980387827031935141225911388337539674141012931633096690606091347008193963684367284184978381314210587626952806806853042169238108550685970120006885966882415756475640102488032627629254877457348159328196428662735643459470589359703038114677065476285088989596575019752462709571045003805209609225498957347647172566901429097245202415910420185520835877736383687087450493552131296744816521685323111621077165735337091480066700384906087075778092805402918219581482540821462173222100725432916639471839532412309984274037912047552546201306591397538890819520050875208641621538051503349343367683875631615870726783525511846092398572935445614690339877818404931019857439917896392010598062382728371884428210904313170882586417056652204781460453893072476758846457944710800951643067269509801667252469026220213818492678697350498768340750031657200140381537083583955952908611620963026318377455751661934254759000538282728311534409078686811047625095831338720923202926288131132212387663497420044615525892186585537580550912499081934474032223734189278286437370080254437322655016293715772273370301073530652558189573354662318514346256615174074186928320686884622782223304489058977900213257628705156801527512395113518212440091959236898271889784586230889345070739943201948413696312079748823740513982305448212632703278664554710558529211352834788989961418235190559559398127557652924573787721505203071543683986992954730786015136918825066512839571860861791724044661705195799098080597757345816554433523751399409669636062999448282106169076140639315541384943299780828139002840476361918777789467788177736448794794626095856436296054181772687569042729342083912869432411660580375087240653181509847579199671440599522027200483437654187743236387875194767099024672904171537739644396611473226501924561698483483382570105151368953768750041555619538544250933902417340302694155398650875348129400861"
count=0
while True:
    start=time.time()
    c=a[::-1]
    sum=int(a)+int(c)
    pd=str(sum)
    if(pd==pd[::-1]):
        break
    print(a+"+"+c+"="+str(sum))
    
    print('\n')
    end=time.time()
    count=count+1
    print("数字量级"+str(len(str(sum)))+"\n执行了："+str(count)+"\n执行时间："+str(end-start))
    a=str(sum)
    file_name='data_196'
    with open(file_name,'w') as fp:
        fp.write("数字量级:"+str(len(str(sum)))+"\n"+str(sum)+"\n执行了："+str(count)+"\n执行时间："+str(end-start))